package com.zch.book.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 读取配置文件的工具类
 * @author Administrator
 *
 */
public class ConfigManager {
	//1构建私有的静态实例
	private static ConfigManager cm;
	private static Properties pros;//私有化一个配置文件类
	
	//2构造函数私有化
	private ConfigManager(String configFile){
		//实例化一个配置文件类的对象
		pros = new Properties();
		//获得字节输入流
		InputStream is = ConfigManager.class.getClassLoader().getResourceAsStream(configFile);
		try {
			//将得到的流内容载入（封装）到配置文件类对象中
			pros.load(is);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//3、返回单一实例对象
	public static ConfigManager getInstance(String configFile){
		if(pros == null){
			synchronized(ConfigManager.class){
				if(pros == null){
					cm = new ConfigManager(configFile);
				}
			}
		}
		return cm;
	}
	
	/**
	 * 根据key值返回value
	 * @param key
	 * @return
	 */
	public String getValue(String key){
		return pros.getProperty(key);
	}
}
